package cn.yzfy.common.model.vo;

import cn.yzfy.common.base.vo.BaseIdAndTimeAndOperationVO;
import cn.yzfy.common.base.vo.BaseVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;


import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * @author 一朝风月
 * @date 2025/9/11 16:15
 * @Code 面向注解面向卿，终无解释再无你
 * @description 路线VO展示层
 */
@Data
@Builder
@EqualsAndHashCode(callSuper = false)
@AllArgsConstructor
@NoArgsConstructor
public class RouteVO extends BaseIdAndTimeAndOperationVO implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 路线ID
     */
    @Schema(description = "路线ID")
    private Long id;

    /**
     * 路线名称
     */
    @Schema(description = "路线名称")
    private String name;

    /**
     * 路线地点
     */
    @Schema(description = "路线地点")
    private String location;

    /**
     * 标签
     */
    @Schema(description = "标签")
    private String tag;

    /**
     * 图片链接
     */
    @Schema(description = "图片链接")
    private String image;

    /**
     * 路线描述
     */
    @Schema(description = "路线描述")
    private String description;

    /**
     * 路线难度（1简单、2中等、3困难）
     */
    @Schema(description = "路线难度（1简单、2中等、3困难）")
    private Byte difficulty;

    /**
     * 路线长度（公里）
     */
    @Schema(description = "路线长度（公里）")
    private Integer distance;

    /**
     * 预计骑行时间（分钟）
     */
    @Schema(description = "预计骑行时间（分钟）")
    private Short estimatedTime;

    /**
     * 路线推荐
     */
    @Schema(description = "路线推荐")
    private String recommend;

    /**
     * 路线坐标（JSON格式）
     */
    @Schema(description = "路线坐标（JSON格式）")
    private String scenicPoints;

    /**
     * 中心坐标（经度）
     */
    @Schema(description = "中心坐标（经度）")
    private BigDecimal centerLongitude;

    /**
     * 中心坐标（纬度）
     */
    @Schema(description = "中心坐标（纬度）")
    private BigDecimal centerLatitude;

    /**
     * 备注
     */
    @Schema(description = "备注")
    private String remark;

    /**
     * 逻辑删除
     */
    @Schema(description = "逻辑删除")
    private Byte deleted;

































}
